System and method for targeting content based on filter activity

ABSTRACT

Various embodiments are presented which comprise an electronic catalog of products, wherein the catalog comprises a taxonomy of product categories and products within the categories, wherein various users input filter parameters and these are monitored, whereupon a new set of filter parameters are accepted and compared to the past set of filter parameters to generate content recommendations.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present invention shares common subject matter with the following applications, which also share common inventor and assignee: “SYSTEM AND METHOD FOR PRESENTING FILTER OPTIONS TO A USER BASED ON ONGOING MONITORING OF FILTER SELECTIONS”, “SYSTEM AND METHOD FOR TRACKING FILTER ACTIVITY AND MONITORING TRENDS ASSOCIATED WITH SAID ACTIVITY”, and “SYSTEM AND METHOD FOR INCORPORATING USER INPUT INTO FILTER-BASED NAVIGATION OF AN ELECTRONIC CATALOG”, all also submitted on this date. These co-pending applications were not previously published in any form.

FIELD OF THE INVENTION

The present invention relates to a system and method for recommending content based on filter parameters that user specifies while navigating an online catalog of products.

DESCRIPTION OF THE RELATED ART

Many websites are configured as online catalogs. These catalogs act as alternatives to traditional paper catalogs and offer enhanced navigational features when compared to their paper counterparts, as well as the advantages of broad, easy distribution. With the advent and increasing popularity of the Internet, suppliers have access to a much larger customer base. Through the Internet, the market base of manufacturers and resellers may be maximized while the associated overhead may potentially be drastically reduced. If an electronic catalog is well-organized and presented, it can help consumers to make good purchasing decisions by providing extensive information about the products they contain in an easy-to-navigate manner. Such a catalog either allows the consumers to gain information about products they will purchase elsewhere or to make purchases within the site itself. Additionally, such a catalog serves as a site where companies may purchase advertising to market their products.

Such electronic catalogs generally store, in a database, information about a number of products which may be anything from electronics to housewares to apparel, or any other type of item which may be depicted and/or described electronically. Such items may be described by a taxonomy, which describes the set of products with a set of information that consists of a set of attributes that assume values. That is, each product might be associated with a price, brand, or other attribute. Some attributes would only be stored for some classes of product. For example, weight might be a attribute with respect to laptops, but not desktop computers, while both might have a processor speed attribute.

Once a retailer or other content provider has provided a taxonomy for its products, it remains for the users of the catalog system to retrieve the products using the taxonomy system. One way to do this is by performing searches using filters. These filters are composed of individual filter parameters, which are rules which narrow the selection of products in a taxonomy according to some criterion. Such filters constrain the allowable values of the attributes, and thereby generate a more manageable subset of the products that the user may use, manipulate, and digest. Together, a set of filter parameters forms a filter parameter set, which represents a progressively narrowed selection of filter parameters. An example filter parameter set would be that if a user were searching for digital cameras, the user might want cameras from Canon™, which are 6 megapixels or greater, and which are under $300 in price. A filter parameter set further consists of the individual, discrete filter parameters, which limit the user's search in a progressive manner. Each filter parameter imposes a constraint on one or more product attributes at a time.

Filters allow the users to reduce the potentially huge numbers of products which otherwise occupy catalogs and reduce them to a manageable numbers. They also allow users to focus their searches to meet their individualized needs, as well as incorporating factors such as ability to pay or brand requirements due to purchasing contracts.

It is known in the art to use user actions to recommend, or target, content. For example, users of a search engine can be presented with advertisements based on search actions.

SUMMARY OF THE INVENTION

Applicant has discovered that one can identify favorable marketing opportunities through analysis of filter parameter selection. By using information which is incidental to the browsing operation of the catalog, valuable conclusions about how advertisers associated with the catalog may market their products can be ascertained in conjunction with the normal operation of the catalog. Alternatively, recommendations about how to market products can be used in external settings.

The present invention enables data about past filter parameter selection to be collected and used to draw inferences about approaches to marketing with respect to present filter data. This is accomplished with respect to the products in a catalog that are organized in a taxonomy. By monitoring filter parameter selections, patterns emerge in the distribution of filter parameter selections which when compared to the present filter data, allow embodiments to provide information about how information about a present user, as reflected in their filter parameter selections, should be the target of marketing efforts.

According to one embodiment of the invention, there is provided: A computer system, comprising: a database module that stores an electronic catalog of products, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, a query module configured to receive the current filter parameters, query the catalog, and present information in the catalog corresponding to the filter parameters to said user interface module for display to users, a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and a user activity data analysis module, configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.

According to one embodiment of the invention, there is provided: A method involving steps to be performing on a computing system consisting of multiple modules designed to perform computing functions which transform data monitoring results, wherein at least part of the computing system's functionality is performed by hardware, comprising: storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, receiving with a query module configured to receive the current filter parameters, querying with said query module the catalog, and presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.

According to one embodiment of the invention, there is provided: An apparatus designed to perform computing functions which transform data monitoring results, wherein at least part of the apparatus's functionality is performed by hardware, comprising: means for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, means for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, means for receiving with a query module configured to receive the current filter parameters, means for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, means for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and means for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.

According to one embodiment of the invention, there is provided: Computer readable media, having instructions stored thereon, wherein the instructions, when executed by a processor, perform computing functions which transform data monitoring results, comprising: instructions for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes, instructions for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, instructions for receiving with a query module configured to receive the current filter parameters, instructions for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users, instructions for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters, and instructions for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating the interactions between the components of a system embodiment of the present invention.

FIG. 2 is a diagram illustrating a taxonomy in accordance with system in which the present invention may be implemented.

FIG. 3 is a screenshot of an catalog in accordance with the invention depicting a front-page for category selection.

FIG. 4 is a screenshot of an catalog in accordance with the invention depicting a page where the cell phone category has been selected.

FIG. 5 is a screenshot of an catalog in accordance with the invention depicting a page where AT&T™ cell phones have been selected.

FIG. 6 is a screenshot of an catalog in accordance with the invention depicting a AT&T™ cell phones selling for between $50-$100 have been selected.

FIG. 7 is a screenshot of an catalog in accordance depicting a AT&T™ cell phones selling for between $50-$100 made by Sony Ericsson™ have been selected.

FIG. 8 is a flowchart illustrating the method according to one embodiment of the invention.

FIG. 9 is a mock display of recorded filter parameter logs and conclusions reached by an embodiment.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order not to unnecessarily obscure the present invention.

Embodiments are described herein that involve catalog data to which is stored and organized in an efficient manner through the use of a taxonomy. The taxonomy categorizes the products by using attributes, where products are associated with one or more values of the attributes. Such attributes describe and organize the products in the catalog for retrieval.

The configuration of the content targeting system 100 is characterized in FIG. 1. The catalog is ideally stored in a database module 102. The database may preferably employ a relational model, though it may alternatively employ a flat model, hierarchical model, network model, dimensional model, object model, object-relational model or any combination of the above or other database formats. The database may use a querying language such as SQL to retrieve data internally. Alternatively, the catalog may be stored in another file or collection of files such as a word processing document, or spreadsheet. The catalog information may be stored on a single machine or on multiple machines over a network. Ideally the catalog is accessible over the Web though a web browser or over another network, but embodiments exist where the catalog is accessible directly from a dedicated program where the catalog is stored locally. The contents of the catalog may be stored upon any tangible medium, such as, but not limited to: magnetic media, optical media, magneto-optical media, solid-state memory, and/or flash memory. The catalog may be stored locally or distributed over a network.

The database receives requests to access the contents of the catalog from query module 104, which mediates requests which are required by the user interface module 106, which may preferably be a monitor with input devices such as a keyboard and mouse providing a Web page, or other GUI interface, but may also involve alternative forms of interaction such as a command line, audio input/output or printed output, or assorted I/O peripherals such as a joystick, gamepad, trackpad, trackball, or other forms of I/O such as those used by the disabled, in order to interact with the users 110 and inform them about the operation of the system and obtain their desired filter parameters. This information flows to and from the user interface module 106 to the analysis module 108, where the computation performed by the device with respect to the information in the catalog. The analysis module 108 then presents the results of its computation to the users I/O via the user interface module 106.

Within the catalog, the taxonomy allows the products to be divided into categories, each of which has subcategories with their own particular set of subcategories. This categorization exists based on the structure of the attributes that are each associated with a given category of product. As an example, in one embodiment, the products could be computers, which are divided into subcategories of laptops and desktops. The laptops can be further subdivided into subcategories, which might include “netbook”, “thin-and-light”, “mainstream”, and “desktop replacement”. Attributes in these subcategories can be weight, price (which might be divided by ranges), and type of processor. On the other hand the desktops might also be have the attributes of price and type of processor, but might have other attributes associated with them, like “form factor” and “number of drive bays”. Moreover, certain attributes might have multi-leveled answers. For example, a processor might be have a processor brand of Intel™, which would then lead to an attribute to differentiate that it was a “Core 2™”, then “Core 2 DuO™” as opposed to “Core 2 Quad™”.

An example taxonomy is presented in FIG. 2, for Desktop PCs. The category of PCs 200 branches into the subcategories of Desktop PCs 203 and Laptop PCs 205. Desktop PCs 203 contain 3 examples of Desktop PCs, Dell Optiplex 960D™ (202) Acer Veriton M261-UC4300P™ (204), and the Gateway FX8040™ (206). Each of these has a value for attributes such as price 210, manufacturer 212, processor 214, RAM size 216, and hard drive size 218. Clearly, the implementation of such a taxonomy will differ by the database model or alternative schema used to store the database in the database module 102. However, given a relational model, such a taxonomy can be stored in one embodiment by associating the products with unique product IDs, then creating tables that associate the IDs with attributes, then creating tables that associate the IDs within the attributes with various values within the taxonomy, in a manner well known in the art to associate pieces of data with information that describes them through relational tables. However, many alternative embodiments are possible and this merely represents a preferred method of storing the catalog if the RDBMS approach is chosen.

It is to be noted that the catalog need not represent a set of tangible products represented by nodes within the taxonomy. The catalog may also operate on a digital level, and contain items of digital content. These items may contain digital text, audio, MIDI data, recorded audiobooks, digital music, bitmapped and/or vector graphics, digital photographs, video, movies. TV episodes, digital documents, animations, software, web content, multimedia, any form of encoded or archived data, and/or any other type of file or group of files which may be use to store useful computer data. These files may be stored locally or remotely from the web site or other interface shell which is used to allow the user to access the catalog.

Ideally, a catalog which is an embodiment of the invention which incorporates one or more of these data types will operate as described below, except that attributes of the one or more data types will reflect characteristics of the type of data involved when using filters instead of characteristics of merchandise. For example, a catalog which contains video might have attributes such as “length” (which might be various ranges of minutes), “type” (which might be “black-and-white” or “color”, or alternatively might include different levels of color quality), or might involve more qualitative attributes such as “genre” (i.e. action, comedy, drama, science-fiction, western) or “rating” (i.e., some sort of scale such as a star system or a points system). Note that some catalogs will have items in the taxonomy which may reflect pieces of merchandise which are linked to “virtual merchandise”, that is pieces of digital media . . . for example, pieces of digital music might be linked to real-world CD albums on which the songs are located. This may allow the embodiments to make intelligent ad recommendations . . . for example, if the filter selections (as described below) frequently involve songs from a specific artist, as well as albums that are inexpensive, if the user selects an album or a song from that artist, the embodiment may suggest advertising to the user find inexpensive digital media from that artist that the user would be likely to purchase.

Building upon the catalog, the embodiments allow the products to be accessed through the use of filters. These filters consist of combinations of filter parameters which limit the values. These filter parameters include a set of parameters requiring one or more of: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given category value is less than or equal to a specific value; a given attribute falls within a specific interval; a given category value falls outside of a specific interval, or other variables.

The order in which filter parameters are selected may be significant, because, for example, if the user selects cameras such that they are 10 MP or greater as his or her first constraint, this may lead to available lens types that would not have been available had, for example, the user selected a camera that is $50 or less. Also, some heuristics used by certain embodiments may give weight to the first filters and assume that they are more important to the user.

Screenshots illustrating an example of a catalog interface which would contain an assortment of technology products and then progressively use filter parameters to narrow the selection of products which are under consideration and which are displayed in FIG. 3-7. Furthermore, the embodiments record and monitor one or more users' choice of filters over time, providing a pool of data which can then been used as a basis, in combination with a new filter selection, for recommendations of content.

The information shown by the screenshots in FIG. 3-7 is now explained in more detail, as an example of how the user selects filter parameters. FIG. 3 shows a home page of a shopping website, CNET.COM™, which offers access to a catalog of technology products, each of which has multiple attributes associated with it, each of which has a corresponding value. As can be seen in FIG. 3, some of the categories of technology which are in the catalog include “Appliances”, “Cell Phones”, “GP S”, “Laptops”, and many others. When a user clicks on one of these hyperlinks, he or she is brought, for example, to a page as shown in FIG. 4, which would result if the user had chosen the “Cell Phones” category from the homepage in FIG. 3. The catalog then allows the user to navigate from among the many cell phones in the catalog by progressively choosing filter parameters which narrow the selection of cell phones under consideration. Continuing our example, the user might choose that his or her preference was to see cell phones whose service provider was AT&T™. This would restrict consideration by the catalog to the 241 cell phones whose associated service provider is AT&T™. This leads to the resulting display of FIG. 5, which shows the first two phones in an extended list of phones whose service provider is AT&T™. At this point, the set of criteria displays further narrowing filter parameters for selection by the user, such as price, manufacturer, wireless interface, and others. It is to be noted, of course, that this filtration is progressive, i.e. additive. That is, once it has been selected that the service provider is AT&T™, the catalog is designed to reflect, as in FIG. 6, after the appropriate filter parameter selection, only those $50-$100 phones that are also designed to have AT&T™ as a service provider. Proceeding onwards, the user may select the additional filter given these two constraints that the manufacturer of the phone is Sony Ericsson Mobile™ communications, as in FIG. 7. Thus, by adding these progressive filters, the search set narrows from hundreds of potential cell phones to 241 AT&T™ cell phones to 27 AT&T™/$50-$100 cell phones to 7 AT&T™/$50-$100/Sony Ericsson Mobile™ cell phones.

As a system accepts filter input while users search the catalog, it is possible to monitor the set of filter parameters that users of a catalog system enter over a period of time. This data can be used to draw inferences about the behavior of the overall group of users who have contributed to a set of filter parameters. Alternatively, this data may be used for other applications, such as by using text or graphics to summarize or depict the data, so that users may draw their own conclusions about what the data represents. Furthermore, the data from monitoring the set of filter parameters may allow the system to adopt a more intelligent approach to the filter interface with the users, in that it may allow the catalog interface to be able to be more or less selective about which filters or how many filters should become displayed to the user for their potential selection at any given time.

Some examples of this record of the filter selections are portrayed as being stored in one embodiment in FIG. 9 in the analysis module 106. A monitoring log 901 may consist of a flat file of entries indicating filters selected by users. Each filter is a sequence of selected filter parameters. The filter parameter selections in monitoring log 901 may be stored in any usable format, but an exemplary format would be to use a text file, and to have one entry per line, with the filter parameters in the filter parameter set separated by commas. In the embodiments, at each stage of this narrowing process, the user is presumed to express a preference about what he or she is interested in. By adding a facility to the website which tracks the user's clicks by which he or she progressively selects the filter parameters, and thereby narrows the set of available products to produce a smaller set of products with characteristics that the user is looking for, a set of potentially useful data is generated. The user's actions may be captured, for example, if the catalog is accessed via a web page, where the web page consists of an HTML or XHTML document, by incorporating a facility which maintains a set of variables which change based on the user clicking on various filters. Technologies such as JavaScript scripts, Perl scripts, Java applets, JSP, ASP, as well as any other technology known in the art that allows the web page to register a click in a variable may be used by the various embodiments to maintain a tally of filter parameter selections within the taxonomy for further analysis and/or manipulation. In the preferred embodiment, they are stored as noted above in a monitoring log 901 as monitoring log entries 904, but any record of filter parameter selection which allows the analysis module to make inferences based on the filter parameters will be sufficient. The analysis module processes the information in a monitoring log 901 in combination with a new input 902 to yield a conclusion 903. The processing techniques used are discussed in more detail below, for example scenarios 901A and 902A yielding 903A, as well as 901B and 902B yielding 903B.

An alternative embodiment further acquires additional information about the selections made of the various filters with the catalog system with respect to the hierarchy, storing, instead of a mere tally of selections, a tally of selections along with level information. For example, if the product were MP3 players, the embodiment would be capable of storing how many users selected Sony™ MP3 players as their first choice of filter parameter, as opposed to second, third, etc. Alternatively, this tallying can be done on the fly to analyze the filter selections from a monitoring log 901.

The embodiments make their content recommendations by comparing the information stored in the monitoring log 901 with the filter selections of a new user. By making these comparisons, an unmet need exists for an invention that will identify favorable marketing opportunities based on the relationship between past, monitored filter settings and the prospective potential interests of a new set of filter settings. In general, the analysis module 106 may employ any relevant heuristic or rule which takes the raw data from the monitoring log 901 and, based on the new input 902, yields a rational conclusion as to which content the embodiment should recommend. The following are examples which illustrate how embodiments might take various types of data and make recommendations.

Once the filter parameters have been acquired by the user interface module 106, a user activity data analysis module 108 generates content recommendations based upon patterns in the data. These patterns may be both general patterns, as well as patterns that depend upon the specific nature of the attributes involved. They may be recognized by algorithms, heuristics, mathematical analysis, statistical analysis, and/or user inspection of the data. In one embodiment, they may involve analysis of data that only incorporates the number of selections of a given filter. In another embodiment, the analysis may incorporate level information, as described above. In yet another embodiment, the user may restrict the time interval over which system input is to be considered for purposed of the analysis. The user may also restrict the population of users whose actions are considered for the analysis, by factors such as, but not limited to, geographic location, IP address, demographics such as age, gender, groupings (such as Macintosh™ users, gamers, business professionals, IT professionals, etc.). Optionally, an embodiment may include a facility to gather such information from the user to aid in the later analysis of the user's filter selections. Such a facility to gather information about the user may be integrated into the web page as a form, or it may take the form of a pop-up box. Alternatively, the embodiment may automatically gather information about the user by associating his or her IP address with information gained by associating that IP address with information in a database.

Thus, overall, the embodiments may include a method 800 involving steps to be performing on a computing system, consisting of multiple modules designed to perform computing functions which transform data monitoring results, wherein at least part of the computing system's functionality is performed by hardware, which is portrayed in FIG. 8, comprising: storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes 801, accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user 802, receiving with a query module configured to receive the current filter parameters, querying with said query module the catalog, and presenting with the query module information in the catalog corresponding to the filter parameters to said user interface module for display to users 803, and monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters;

and comparing with a user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations 804.

FIG. 9 provides two specific examples of how content recommendations are based off of specific datasets in the analysis module (106). Given the data set in 901A, and the input that the user is about to view Sony™ laptops in 902A, the embodiment would conclude 903A that Sony should target its ads towards the upper price range, its primary competitor is Apple, and it needs to emphasize its laptops in that price range that have Blu-Ray™ drives and 2 GB or more RAM. It would base this conclusion on a combination of algorithms and heuristics implemented as software encoded on a computer-readable medium designed to be executed by a processor and/or hardware modules running as part of the analysis module 106. These heuristics would include rules which would identify that Blu-Ray™ drives and 2 GB or more RAM appear to be frequently correlated with the purchase of expensive laptops, there does not appear to be much interest in inexpensive laptops by Sony™, and hence Sony™ should target content which advertises its expensive laptops with these high-end features.

Given the data set in 901B, and the input that the user is about to view Creative™ MP3 players in 902B, the analysis module would process the dataset and conclude 903B Creative™ may want to market its inexpensive flash drive MP3 Players, or market hard-drive MP3 players with smaller sized hard drives than those of Archos™ at a better price point. Also, flash-based MP3 players with FM Radio capabilities fulfill an unmet need, so Creative™ could target players of this type. Finally, to compete against Apple™'s™ players, Creative™'s players may need to be touch-screen. These conclusions would be based upon the fact that there appears to be demand for hard drive players of moderate size, but there is only interest in Archos™'s high-end product, and the bulk of the interest in the flash-memory market appears to be in Apple™'s products, but offering FM Radio could be a competitive advantage, and because customers who show interest in Apple also show interest in touch screens, it could help Creative™ to compete if their players also had a touch-screen.

In general, the heuristics mathematically and statistically analyze the pool of filter parameter selections, looking for situations such as correlations, contrasts, and frequent and infrequent occurrences of types of data, or any other type of relationship which leads to a rational content recommendation. Some further examples of how content recommendations are generated are herein provided with respect to an electronic catalog of consumer electronics products. For example, suppose, hypothetically, that the system has tracked searches by users for cell phones. An analysis of which attribute was selected first may show that 53% of the users select Service provider as their first attribute, and only 6% select Price. Moreover, this analysis may be done at multiple levels. For example, a check could be done to see that in the course of a user's overall search for cell phones, 85% select Service provider at some point (i.e. first selection or any subsequent selection), whereas only 27% select Manufacturer at all during their search.

Taking this example, analyzing the information can lead to valuable conclusions, which can be used to target content. First, manufacturers can observe which categories within their brand receive more attention. For example, suppose that 85% of users search for Apple™ MP3 players, but only 46% search for Apple™ laptops. Armed with this information, Apple™ could decide whether it wants to advertise to try to increase penetration in the laptop market, where it is relatively weak, or whether it wants to advertise to try to maintain its market dominance in the MP3 player market. An embodiment may be preconfigured for either of these options, or may be configured by the user, either to recommend that a company (who may be related to a product with a attribute such as manufacturer, service provider, or the like) that it sell products of the type where users have shown the most interest, or the least interest.

Another approach to the data would be to examine category data, and look for categories where no single company or where small groups of companies monopolize the interest of users. For example, the data might indicate that printers would be a good category to target, but MP3 players might be harder to break into if a company like Apple™ has a “lock” on the market due to intense user interest.

Alternatively, in the case where Apple™ has considerable loyalty within the MP3 player market, a competing MP3 player like Creative™ or Sony™ may decide that it would be desirable to place ads in this situation to attempt to break the dominance in the marketplace. Also, even when there is no dominance in a market, there may be a specific rivalry within a niche market. For example, if the data indicates an incident of interest in Epson™ inkjet printers above a certain threshold, Brother™ may decide to advertise so as to try to convert users away from Epson™.

An embodiment may also provide for the simple case where a company simply has low market penetration for a specific class of products, but the class in general is faring well. If HP™ observes that their desktop machines are selected by users below a preset or user-set threshold of the time, an embodiment may recommend that HP™ target ads to promote these machines because they may want to increase market share. Alternatively, if the selection occurs below a certain threshold of the time, the embodiment may recommend that the user not target ads for these products, because they are in a weak position in the market.

Another factor which allows the embodiments to aid in targeting is price. If users search for a specific price range frequently, an embodiment recommends targeting ads for products by a given company that correspond to that price range. Likewise, if a given price range is not selected frequently, the embodiment would not recommend targeting products within the infrequently selected price range.

However, beyond recommendations that stem from past buying patterns various embodiments can make dynamic recommendations for ad placement based on a user's present choice of filters. For example, suppose that the user chooses laptops by Toshiba™ for over $1500. Then, the embodiment may offer an ad placement to Lenovo™ or Sony™ or another manufacturer, who wishes to compete with its own expensive laptops. Alternatively, the embodiment could offer an ad placement to a company like Asus™ or Acer™, who may wish to compete by selling a similar, less expensive product.

This principle can operate in reverse of course . . . if the user selects LCD TVs for $1000 from Vizio™, Sony™ may wish to buy an ad which extols the virtue of the features of its own, more expensive televisions, which it may believe to be of higher quality or possess a better reputation. In general, various embodiments allow targeting based on the most and least popular values of attributes, as well as threshold numbers of selections of the attributes, both at the first-selection level and the overall-selection level, though finer tuning (first-and-second selection, first-though-third selections, for example) is of course possible on a predetermined or user-set basis. It is also to be noted that selecting the filters need not require progressively selecting and redisplaying lists as has been described heretofore. Embodiments may also implement filter selection by methods which include drop-down boxes and controls which allow the user to drill down through selection of filters on a single screen in advance, without redisplaying the list of relevant products each time a selection is made.

The content recommendation technique provided by these embodiments offers many advantages. First, the catalog structure of products, accompanied by a taxonomy, represents an efficient and effective way to store and manipulate a group of products. Whether the products are a set of generalized products, a category of products such as consumer electronics or apparel, or a niche set of products such as antique coins, using a taxonomy and filters as described above allows efficient display and navigation of the products. While various interface features may vary in the various embodiments, the lists may be sorted according to various attributes, or alternatively according to other metrics to allow easy access to the most relevant items. That is, continuing the example of consumer electronics, the lists may be sorted according to factors related to the review and product characteristics including, but not limited to: Review date, Editor's Rating, and User's Rating and Lowest Price. The monitored filter data further leads to the ability to target content, which is desirable for several reasons, as set forth above. First, it allows advertisers to pick and choose more carefully how they will spend their money advertising on the catalog website and elsewhere. Moreover, this is an unexpected result because filter selection data has not heretofore been monitored to draw conclusions about what content would represent a good investment based on patterns in said filter data.

Another advantage of the embodiments is that they allow the advertisers to target smaller niches. Motorola™ may discover that Bluetooth™ enabled phones are an area where it is most competitive, for example. Also, as previously discussed, ads can be targeted to change brand loyalty. If a specific brand has a large market share, ads can be placed to target that market.

Furthermore, if users show great interest in a type of product, but there is not much specification of a given brand of product, companies seeking to enter the market will know to target users with ads for that type of product because users may be open to new brands. For example, if there are a lot of searches for desktops with hard drive capacity of 500 GB or greater and no brands accompany those searches, embodiments will be able to recommend that advertisers that sell that type of machine target ads at this relatively unexploited market.

Finally, the embodiments would be potentially capable of following up on correlations between ad placements and filter selection. For example, those who filtered for Apple™ cell phones might be more likely to subsequently click on ads for hybrid cars, or purchasers of Sony™ laptops might be likely to click on ads for Ralph Lauren™ apparel. This cross-selling aspect of the embodiments enhance their functionality by allowing cross-selling across industries. Furthermore, because the owners of the embodiments will be able to offer highly targeted ads within their catalog and valuable information about how to target ads externally. This will allow the catalog owner to charge more, because the ads will be worth more.

In various embodiments the ads based on the recommendations may be displayed in the same window, or in a separate window, such as via a pop-up ad. If they are displayed in the same window of a list of products which obey a set of filter parameters, for example, they may be placed above or below the list, or to the left or right of the list, or somewhere in the middle of the list, possibly dividing the list into two parts in a strategic manner.

Alternative embodiments may provide multiple recommendations at the same time. For example, suppose that there is data, based on filter selection, that there is a lot of interest in Apple™ MP3 players, costing $200-$300. (Suppose that Apple™ receives 87% of the clicks in this category. An embodiment could observe that Microsoft™ might have a product that competes directly in this price range with similar features, and Creative™ has products that have slightly fewer features, but might cost less. The embodiment could suggest to both Microsoft™ and Creative™ that they should target ads for their products when the user makes the filter selection of Apple™ MP3 players costing $200-$300.

An example dataset should clarify the operation of the embodiments. Suppose that the category being analyzed is desktops. Further suppose that there have been 20 sets of filter parameters who selected Apple™, then $1000-$1200, 20 sets of filter parameters where the user selected Sony™, then all-in-one desktop system, and 50 sets of filter parameters where the user selected HP™, 20 of which where the user further selected $1400-$1600, and 30 of which where the user selected all-in-one desktop system. Suppose further that the user has selected HP™ as their initial filter parameter.

An embodiment would be able to make the following recommendations, among others. First, it could suggest to Apple™ or Sony™ that they advertise their machines to the user, because they have apparently achieved relatively low market penetration based on the fact that users are apparently seeking out their products less. Second, it could suggest to Sony™ that it should advertise its all-in-one desktop systems especially, because there is interest in this type of desktop, but not as much as for the HP™. Third, it could suggest to Apple™ that it advertise its cheaper machines to the user, because there is interest in them, and that it might be able to show that it can offer comparable products to HP™'s at a lower price.

As an alternative example, take a situation in the realm of MP3 players where there were 90 filter selections for Apple™, 80 of which were accompanied by a selection that the MP3 player be flash memory, 5 accompanied by a selection that it be hard-drive based, along with 5 selections for Microsoft™, 4 of which were accompanied by a selection that the MP3 player be hard-drive based and 1 flash memory based. In this situation, if Creative™ used the embodiments to procure a recommendation, the embodiment might suggest that the market is dominated by Apple™ in the flash memory MP3 player market, but there is a more level playing field in the hard-drive based players so Creative™ might have a good opportunity to market if it attempted to market its hard-drive players. Moreover, if the user does click that he or she is interested in buying a flash memory based player, the embodiments would make it clear that the significant market opponent is Apple's™ products such as the iPod™, and hence advertisements should be targeted to counter Apple's™ marketing rather than Microsoft's™.

Thus, the embodiments allow collection of information about the users' filter preferences which can reflect not only long-term trends in filter selection, but can also be used to determine how the relationship between these trends and the user's present interests indicate ways of effectively marketing to the user. Thus, these embodiments represent a powerful and sophisticated e-commerce tool which brings unexpected advantages to the field of marketing by monitoring the filter data.

It should be noted that the content targeting system 100 is illustrated and discussed herein as having various modules which perform particular functions and interact with one another. It should be understood that these modules are merely segregated based on their function for the sake of description and do not necessarily represent discrete hardware or software code which is stored on a computer-readable medium for execution on appropriate computing hardware such as a processor. In this regard, these modules, units and other components may be hardware and/or software stored on a computer-readable medium for execution on appropriate computing hardware such as a processor may be thus implemented to substantially perform their particular functions explained herein. The various functions of the different modules and units can be combined or segregated as hardware and/or software stored on a computer-readable medium as above as modules in any manner, and can be used separately or in combination.

While various embodiments in accordance with the present invention have been shown and described, it is understood that the invention is not limited thereto. The present invention may be changed, modified and further applied by those skilled in the art. Therefore, this invention is not limited to the detail shown and described previously, but also includes all such changes and modifications. 

1. A computer system, comprising: a database module that stores an electronic catalog of products, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user; a query module configured to receive the current filter parameters, query the catalog, and present information in the catalog corresponding to the filter parameters to said user interface module for display to users; a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; a user activity data analysis module, configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
 2. The system of claim 1, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
 3. The system of claim 2, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most frequently when or more attributes are above and/or above or equal to and/or equal to and/or less than and/or less than or equal to a predefined or user-input threshold within the set of user activity data and/or one or more values of one or more attributes within a set range.
 4. The system of claim 1, wherein said user activity data analysis module accepts input from said user interface module to restrict the time interval over which said filter parameters are collected for use in the data analysis.
 5. The system of claim 1, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user-input value within the set of user activity data.
 6. The system of claim 1, wherein said attributes include brand.
 7. The system of claim 6, wherein said user activity data analysis module generates a content recommendation where, if brand is held constant as set to the brand of the user, of products with proportions greater than a set threshold of the total user activity data with respect to the total set of user activity data.
 8. The system of claim 6, wherein said user activity data analysis module generates a content recommendation where, if no individual value of brand has an incidence in the user activity data of greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 9. The system of claim 6, further comprising a user identity data module, which assists said monitoring module to additionally associate user identity data with said user activity data.
 10. The system of claim 9, wherein said user activity data analysis module associates said user identity data with said incidences of brands and if an individual user's proportion of a specific brand in their choice of filters is greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 11. The system of claim 1, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
 12. The system of claim 11, wherein the targeted advertising display module displays said targeted advertisements along with the contents of said catalog in a web browser.
 13. The system of claim 1, wherein said products are digital media.
 14. The system of claim 13, wherein said digital media products consist of one or more of digital text, audio, MIDI data, recorded audiobooks, digital music, bitmapped and/or vector graphics, digital photographs, video, movies, TV episodes, digital documents, animations, software, web content, multimedia, or encoded or archived data.
 15. The system of claim 14, wherein the catalog contains items of digital content and items of merchandise, and some items of digital content are associated with the items of merchandise.
 16. The system of claim 15, wherein user activity data for said digital content is used to generate targeted advertisements for items of merchandise, or vice versa.
 17. A method involving steps to be performing on a computing system consisting of multiple modules designed to perform computing functions which transform data monitoring results, wherein at least part of the computing system's functionality is performed by hardware, comprising: storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user; receiving with a query module configured to receive the current filter parameters, querying with said query module the catalog, and presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users; monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and comparing with a user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
 18. The method of claim 17, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
 19. The method of claim 18, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most frequently when or more attributes are above and/or above or equal to and/or equal to and/or less than and/or less than or equal to a predefined or user-input threshold within the set of user activity data and/or one or more values of one or more attributes within a set range.
 20. The method of claim 17, wherein said user activity data analysis module accepts input from said user interface module to restrict the time interval over which said filter parameters are collected for use in the data analysis.
 21. The method of claim 17, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user-input value within the set of user activity data.
 22. The method of claim 17, wherein said attributes include brand.
 23. The method of claim 22, wherein said user activity data analysis module generates a content recommendation where, if brand is held constant as set to the brand of the user, of products with high proportions of the total user activity data with respect to the total set of user activity data.
 24. The method of claim 22, wherein said user activity data analysis module generates a content recommendation where, if no individual value of brand has an incidence in the user activity data of greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 25. The method of claim 22, further comprising a user identity data module, which assists said monitoring module to additionally associate user identity data with said user activity data.
 26. The method of claim 25, wherein said user activity data analysis module associates said user identity data with said incidences of brands and if an individual user's proportion of a specific brand in their choice of filters is greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 27. The method of claim 17, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
 28. The method of claim 27, wherein the targeted advertising display module displays said targeted advertisements along with the contents of said catalog in a web browser.
 29. The method of claim 17, wherein said products are digital media.
 30. The method of claim 29, wherein said digital media products consist of one or more of digital text, audio, MIDI data, recorded audiobooks, digital music, bitmapped and/or vector graphics, digital photographs, video, movies, TV episodes, digital documents, animations, software, web content, multimedia, or encoded or archived data.
 31. The method of claim 30, wherein the catalog contains items of digital content and items of merchandise, and some items of digital content are associated with the items of merchandise.
 32. The method of claim 31, wherein user activity data for said digital content is used to generate targeted advertisements for items of merchandise, or vice versa.
 33. An apparatus designed to perform computing functions which transform data monitoring results, wherein at least part of the apparatus's functionality is performed by hardware, comprising: means for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; means for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user; means for receiving with a query module configured to receive the current filter parameters, means for querying with said query module the catalog and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users; means for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and means for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
 34. The apparatus of claim 33, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
 35. The apparatus of claim 34, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most frequently when or more attributes are above and/or above or equal to and/or equal to and/or less than and/or less than or equal to a predefined or user-input threshold within the set of user activity data and/or one or more values of one or more attributes within a set range.
 36. The apparatus of claim 33, wherein said user activity data analysis module accepts input from said user interface module to restrict the time interval over which said filter parameters are collected for use in the data analysis.
 37. The apparatus of claim 33, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user-input value within the set of user activity data.
 38. The apparatus of claim 33, wherein said attributes include brand.
 39. The apparatus of claim 38, wherein said user activity data analysis module generates a content recommendation where, if brand is held constant as set to the brand of the user, of products with high proportions of the total user activity data with respect to the total set of user activity data.
 40. The apparatus of claim 38, wherein said user activity data analysis module generates a content recommendation where, if no individual value of brand has an incidence in the user activity data of greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 41. The apparatus of claim 38, further comprising a user identity data module, which assists said monitoring module to additionally associate user identity data with said user activity data.
 42. The apparatus of claim 41, wherein said user activity data analysis module associates said user identity data with said incidences of brands and if an individual user's proportion of a specific brand in their choice of filters is greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 43. The apparatus of claim 33, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
 44. The apparatus of claim 43, wherein the targeted advertising display module displays said targeted advertisements along with the contents of said catalog in a web browser.
 45. The apparatus of claim 33, wherein said products are digital media.
 46. The apparatus of claim 45, wherein said digital media products consist of one or more of digital text, audio, MIDI data, recorded audiobooks, digital music, bitmapped and/or vector graphics, digital photographs, video, movies, TV episodes, digital documents, animations, software, web content, multimedia, or encoded or archived data.
 47. The apparatus of claim 46, wherein the catalog contains items of digital content and items of merchandise, and some items of digital content are associated with the items of merchandise.
 48. The apparatus of claim 47, wherein user activity data for said digital content is used to generate targeted advertisements for items of merchandise, or vice versa.
 49. Computer readable media, having instructions stored thereon, wherein the instructions, when executed by a processor, perform computing functions which transform data monitoring results, comprising: instructions for storing an electronic catalog of products with a database module, wherein the catalog comprises a taxonomy of product categories and products within the categories, the catalog further comprising attributes which describe products in a category and at least one value for said attributes; instructions for accepting with a user interface module configured to accept current filter parameters relating to at least one of the categories and values of the attributes in response to a selection by the user, instructions for receiving with a query module configured to receive the current filter parameters; instructions for querying with said query module the catalog, and means for presenting with said query module information in the catalog corresponding to the filter parameters to said user interface module for display to users; instructions for monitoring with a monitoring module that monitors the current filter parameters to generate a set of user activity data comprising plural previous filter parameters; and instructions for comparing with user activity data analysis module, that is configured to compare said user activity data with the current filter parameters to generate one or more content recommendations.
 50. The computer readable media of claim 49, wherein said filter parameters include a set of parameters requiring one or more of, when applied in said query module: a given attribute equals a specific value; a given attribute is not equal to a specific value; a given attribute is greater than a specific value; a given attribute is greater than or equal to a specific value; a given attribute is less than a specific value; a given attribute is less than or equal to a specific value; a given attribute falls within a specific interval; a given attribute falls outside of a specific interval.
 51. The computer readable media of claim 50, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most frequently when or more attributes are above and/or above or equal to and/or equal to and/or less than and/or less than or equal to a predefined or user-input threshold within the set of user activity data and/or one or more values of one or more attributes within a set range.
 52. The computer readable media of claim 49, wherein said user activity data analysis module accepts input from said user interface module to restrict the time interval over which said filter parameters are collected for use in the data analysis.
 53. The computer readable media of claim 49, wherein said recommendations are based on an identification of one or more values of one or more attributes which occurred most or least frequently when or more attributes are equal to a predefined or user-input value within the set of user activity data.
 54. The computer readable media of claim 49, wherein said attributes include brand.
 55. The computer readable media of claim 54, wherein said user activity data analysis module generates a content recommendation where, if brand is held constant as set to the brand of the user, of products with high proportions of the total user activity data with respect to the total set of user activity data.
 56. The computer readable media of claim 54, wherein said user activity data analysis module generates a content recommendation where, if no individual value of brand has an incidence in the user activity data of greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 57. The computer readable media of claim 54, further comprising a user identity data module, which assists said monitoring module to additionally associate user identity data with said user activity data.
 58. The computer readable media of claim 57, wherein said user activity data analysis module associates said user identity data with said incidences of brands and if an individual user's proportion of a specific brand in their choice of filters is greater than a predetermined or user-input threshold, then the user data analysis module recommends that type of product as one where a new brand may be a good target for advertising.
 59. The computer readable media of claim 49, further comprising an targeted advertising display module, which displays targeted advertisements based on said user activity data.
 60. The computer readable media of claim 59, wherein the targeted advertising display module displays said targeted advertisements along with the contents of said catalog in a web browser.
 61. The computer readable media of claim 49, wherein said products are digital media.
 62. The computer readable media of claim 61, wherein said digital media products consist of one or more of digital text, audio, MIDI data, recorded audiobooks, digital music, bitmapped and/or vector graphics, digital photographs, video, movies, TV episodes, digital documents, animations, software, web content, multimedia, or encoded or archived data.
 63. The computer readable media of claim 62, wherein the catalog contains items of digital content and items of merchandise, and some items of digital content are associated with the items of merchandise.
 64. The computer readable media of claim 63, wherein user activity data for said digital content is used to generate targeted advertisements for items of merchandise, or vice versa. 